/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    location    "constant";
    object      phaseProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

phases          (water oil mercury air);

water
{
    type            pureIsothermalPhaseModel;

    diameterModel
    {
        type            constant;
        d               1e-3;
    }

    residualAlpha 1e-3;
}

oil
{
    type            pureIsothermalPhaseModel;

    diameterModel
    {
        type            constant;
        d               1e-3;
    }

    residualAlpha 1e-3;
}

mercury
{
    type            pureIsothermalPhaseModel;

    diameterModel
    {
        type            constant;
        d               1e-3;
    }

    residualAlpha 1e-3;
}

air
{
    type            pureIsothermalPhaseModel;

    diameterModel
    {
        type            constant;
        d               1e-3;
    }

    residualAlpha 1e-3;
}

blending
{
    default
    {
        type            linear;
        minFullyContinuousAlpha.water 0.7;
        minPartlyContinuousAlpha.water 0.3;
        minFullyContinuousAlpha.oil 0.7;
        minPartlyContinuousAlpha.oil 0.3;
        minFullyContinuousAlpha.mercury 0.7;
        minPartlyContinuousAlpha.mercury 0.3;
        minFullyContinuousAlpha.air 0.7;
        minPartlyContinuousAlpha.air 0.3;
    }

    segregated
    {
        type            linear;
        minFullyContinuousAlpha.water 0.7;
        minPartlyContinuousAlpha.water 0.5;
        minFullyContinuousAlpha.oil 0.7;
        minPartlyContinuousAlpha.oil 0.5;
        minFullyContinuousAlpha.mercury 0.7;
        minPartlyContinuousAlpha.mercury 0.5;
        minFullyContinuousAlpha.air 0.7;
        minPartlyContinuousAlpha.air 0.5;
    }
}

surfaceTension
{
    air_water
    {
        type            constant;
        sigma           0.07;
    }

    air_oil
    {
        type            constant;
        sigma           0.07;
    }

    air_mercury
    {
        type            constant;
        sigma           0.07;
    }

    water_oil
    {
        type            constant;
        sigma           0;
    }

    water_mercury
    {
        type            constant;
        sigma           0;
    }

    oil_mercury
    {
        type            constant;
        sigma           0;
    }
}

interfaceCompression
{
    air_water     1;
    air_oil       1;
    air_mercury   1;
    water_oil     1;
    water_mercury 1;
    oil_mercury   1;
}

// ************************************************************************* //
